
import store from "../store";
import Cache from '../utils/Cache';
import {
    Debounce
} from '../utils/validate.js'


import {
    LOGIN_STATUS,
    USER_INFO,
    EXPIRES_TIME,
    STATE_R_KEY
} from './../config/cache';


function prePage() {
    let pages = getCurrentPages();
    let prePage = pages[pages.length - 1];
    // #ifndef APP-PLUS
    return prePage.route;
    // #endif
    // #ifdef APP-PLUS
    return prePage.$page.fullPath;
    // #endif

}
export const toLogin = Debounce(_toLogin, 800)

function _toLogin(push, pathLogin) {
    let path = prePage();

    const BASIC_CONFIG = Cache.get('BASIC_CONFIG')
    if (!pathLogin)
        pathLogin = '/pages/login/index'
    Cache.set('login_back_url', path);


    // #ifdef MP
    let url
    // if (!BASIC_CONFIG.wechat_auth_switch) {
    //     url = '/pages/users_purchasing/binding_phone/index?pageType=0'
    // } else {
        url = '/pages/login/index'
        // url = '/pages/users_purchasing/wechat_login/index'
    // }
    uni.navigateTo({
        url
    })
    // #endif

}

export function checkLogin() {
    let token = Cache.get(LOGIN_STATUS);
    // let token
    let expiresTime = Cache.get(EXPIRES_TIME);
    // let newTime = Math.round(new Date() / 1000);
    if (!token) {
        uni.setStorageSync('authIng', false)
        Cache.clear(LOGIN_STATUS);
        Cache.clear(EXPIRES_TIME);
        Cache.clear(USER_INFO);
        Cache.clear(STATE_R_KEY);
        return false;
    } else {
        store.commit('UPDATE_LOGIN', token);
        let userInfo = Cache.get(USER_INFO, true);
        if (userInfo) {
            store.commit('UPDATE_USERINFO', userInfo);
        }
        return true;
    }

}
